This invention relates generally to a computer system, and more particularly to distributed processing of a task by a distributed computer system.
A distributed computer system is a network of computers each of which function independently of but in a cooperative manner with each other. Versatility of a computer system can be increased by using a plurality of small computers, such as personal computers, to perform simple tasks and a central computer for longer more complex tasks. Such an arrangement lessens the load on the control computer and reduces both the volume and cost of data transmission.
A computer system in which portions of a task are performed by a number of different processors is commonly referred to as distributed processing. Normally, and unlike a typical distributed computer system, distributed processing is performed by a number of different microprocessors located within one central processor.
Generally, a distributed computer system can not perform distributed processing unless specific and detailed instructions are provided for one computer to serve as the equivalent of a slave processor to another computer. When such specific and detailed instructions are provided a distributed computer system performing distributed processing can not pass portions of a task from one computer to another computer. Rather, the complete task including the entire file is transferred between computers to sequentially process portions of the task.
By requiring that the complete task be transferred from one computer to another, a state of distributed processing is created. Generally, no more than about six computers can be used in the system resulting in a state of limited distributed processing. A distributed computer system performing distributed processing with more than about six computers is difficult to work with since many of the same lines, disk drives, printers and other equipment must be shared by each computer.
By requiring that the entire task be transferred as one package from one computer to the next, interaction between the distributed computer system and user while a task is being processed is difficult. No continuous active interconnection (i.e. communication) between computers is present in a distributed computer system except in regard to sharing the same hard disk drive and/or printer.
If a task is inputted to a computer which is presently unavailable to perform the task, the task is not automatically shifted to an available computer on the system since there is no continuous interaction between computers. Prior art distributed computer systems which automatically shift a task from an unavailable computer to an available computer require complex programming with specially designed communication links between the computers. Such communications links significantly add to the required interconnections between the computers and their associated cost.
Accordingly, it is desirable to provide a distributed computer system which performs distributed processing by passing portions rather than the entire task between computers. Preferably, the distributed computer system should include a plurality of personal computers operable for performing distributed processing to avoid the need for a mainframe.